package 多线程.FileSearch;

import java.io.File;

public class SeriaFileSearch {
    /*
    * 1.判断文件是否是目录->是目录 但是否为空
    * 2.是文件-> 判断文件名相等 -> getAbsolutePath 保存
    * 3.非：递归循环*/
    public static void searchFiles(File file, String fileName, Result result) {
        if (file.isDirectory() && !result.isFound()) {
            // 获取文件夹中的所有文件和文件夹
            File[] files = file.listFiles();
            if (files != null) {
                for (File f : files) {
                    // 判断是否是目标文件
                    if (f.isFile() && f.getName().equals(fileName)) {
                        // 找到目标文件
                        result.setPath(f.getAbsolutePath());
                        result.setFound(true);
                        System.out.println(result.toString());
                        return;
                    } else if (f.isDirectory()) {
                        // 递归搜索子文件夹中的文件
                        searchFiles(f, fileName, result);
//                        if(result.isFound()){
//                            return;
//                        }
                    }
                }
            }
        }
    }
}
